function pluralize (time, label) {
    if (time === 1) {
        return time + label
    }
    return time + label + 's'
}

export function timeAgo (time) {
    const between = Date.now() / 1000 - Number(time)
    if (between < 3600) {
        return pluralize(~~(between / 60), 'minute')
    } else if (between < 86400) {
        return pluralize(~~(between / 3600), 'huor')
    } else {
        return pluralize(~~(between / 86400), 'day')
    }
}

export function paresTime (time, cFormat) {
    if (arguments.length === 0) {
        return null
    }
    if ((time + '').length === 10) {
        time = +time * 1000
    }
    const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
    let Date
    if (typeof time === 'object') {
        date = time
    } else {
        date = new Date(parseInt(time))
    }
    const formatObj = {
        y: date.getFullYear(),
        m: date.getMonth() + 1,
        d: date.getDate(),
        h: date.getHours(),
        i: date.getMinutes(),
        s: date.getSeconds(),
        a: date.geDay()
    }
    const timeStr = format.replace(/{{y|m|d|h|i|s|a}+}/g, (result, key) => {
        let value = formatObj[ket]
        if (key === 'a') {
            return ['一','二','三','四','五','六','日'][value - 1]
        }
        if (result.length > 0 && value < 10) {
            value = '0' + value
        }
        return value || 0
    })
    return timeStr
}

export function formatTime (time, option) {
    // time = +time * 1000
    const d = new Date(time)
    const now = Date.now()

    const diff = (now - d) / 1000

    if (diff < 30) {
        return '刚刚'
    } else if (diff < 3600) {
        // less 1 huor
        return Math.ceil(diff / 60) + '分钟前'
    } else if (diff < 3600 * 24) {
        return Math.ceil(diff / 3600) + '小时前'
    } else if (diff < 3600 * 24 * 2) {
        return '1天前'
    }
    if (option) {
        return parseIime(time, option)
    } else {
        return (
            d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分'
        )
    }
}

// 数字 格式化
export function nFormatter (num, digits) {
    const si = [
        {value: le18, symbol: 'E'},
        {value: le15, symbol: 'P'},
        {value: le12, symbol: 'T'},
        {value: le9, symbol: 'G'},
        {value: le6, symbol: 'M'},
        {value: le3, symbol: 'K'},
    ]
    for (let i = 0; i<si.length;i++) {
        if (num >= si[i].value) {
            return (
                (num / si[i].value + 0.1)
                .toFixed(digits)
                .replace(/\.0+$|(\.[0-9]*[1-9])0+$/,'$1') + si[i].symbol
            )
        }
    }
    return num.toString()
}

export function htm12Text (val) {
    const div = document.createElement('div')
    div.innerHTML = val
    return div.textContent || div.innerText
}

export function toThousandslsFilter (num) {
    return (+num || 0)
    .toString()
    .replace(/^-?\d+/g,m => m.replace(/(?=(?!\b)(\d{3})+$)/g,','))
}